package com.xjh.basestudy.leetcode.question;
/*
给定一个整数数组list和一个目标值target，找出数组中,和为目标值的两个数的下标并返回。
你可以假设每个输入只对应一种答案，且同样的元素不能被重复利用
*/

import java.util.Arrays;

//给定的数据,在参数中表示
public class Q1_SumOfTwoNumbers {
    public static void main(String[] args) {
//        main方法只能调用本类中的静态方法
//        int[]  num = new int[]{1, 2, 3, 4, 5, 6};
        int[] num = {1, 2, 3, 4, 5, 6};
        int[] result = twoSum(num, 5);
//        输出是[I@50cbc42f ，这是什么，是数组第一个元素的地址。
//        System.out.println(result);
        System.out.println(Arrays.toString(result));


    }


    private static int[] twoSum(int[] nums, int target) {
        //从第一个数开始循环
        for (int i = 0; i < nums.length; i++) {
            //从第二个数开始循环
            for (int j = i + 1; j < nums.length; j++) {
                // 如果后一个数 = 目标数 -前一个数
                if (nums[j] == target - nums[i]) {
                    //新建一个数组并返回这两个数的下标
                    return new int[]{i, j};
                }
            }
        }
        throw new IllegalArgumentException("No two sum solution");
    }

}
